home *** CD-ROM | disk | FTP | other *** search
-
- Modulspezifikation zum einfachen Filtermodul von Luna.
- ------------------------------------------------------------------------------
-
- Rückgabeparameter in D0, Register d0-d7 und a0-a2 dürfen verändert werden.
- Das Filtermodul bleibt wärend der Blockbearbeitung im Speicher und wird
- vor Beginn der Filterung einmal zur Initialisierung, dann für jede
- Zeile des zu filternden Blockes und nach Filterung einmal zur
- Deinitialisierung aufgerufen.
-
- - Ein Luna-Filtermodul trägt die Dateiextension "FM" bzw. "fm".
- - Das Modul wird von Luna direkt geladen und angesprungen (direkt ans Textsegment,
- ohne pexec()-Modi, ohne Relozierung).
- - Die Parameterübergabe erfolgt über den Stack.
- - Das Modul ist eine normale Programmdatei mit dem 28 Byte langen Header.
-
- Möchte ein solches Modul die Zeilenlänge ändern (z.Bsp. durch ersetzen
- einer Zeichenkette durch eine Andere), dann ist der Luna-Arbeitspuffer
- zu verwenden, dessen Adresse ebenfalls übergeben wird.
-
- Eine Ggf. geänderte Zeichenkette (Nullterminiert) wird von Luna aus dem
- Arbeitspuffer ausgelesen und dann entsprechend der Blockmarkierungen die
- Zeile im markierten Text geändert.
- Um Luna mitzuteilen, daß sich eine gänderte Zeichenkette im Arbeitspuffer
- befindet, ist nach Filterung eine 1 zurückzuliefern, ansonsten Null.
-
-
- ------------------------------------------------------------------------------
- Aufgerufen wird das Modul immer mit folgenden Grundparametern:
- ------------------------------------------------------------------------------
- a: 4(sp) word Funktionsnummer.
- b: 6(sp) long Adresse des zu bearbeitenden Strings.
- c: 10(sp) long Adresse des Arbeitspuffers.
- d: 14(sp) word Länge des zu bearbeitenden Strings.
- e: 16(sp) word Länge des Arbeitspuffers (das ist immer die maximale
- im Text vorkommende Zeilenlänge*4).
-
- Die Werte 'b' und 'd' sind nur bei Funktionsnummer 0 gültig.
-
- ------------------------------------------------------------------------------
- Die bisher möglichen Funktionsnummern:
- ------------------------------------------------------------------------------
- 0 = Filterfunktion ausführen.
- 1 = Zeiger auf Infotext (siehe unten) zurückliefern.
- es ist ein Zeiger auf den Infotext in D0 zurückzugeben
- 2 = Initialisierung des Moduls
- es ist Null (OK), oder ein Errorcode zurückzuliefern
- 3 = Deinitialisierung des Moduls
- es ist Null (OK), oder ein Errorcode zurückzuliefern
-
- ------------------------------------------------------------------------------
- bisherige Exitcodes(long):
- ------------------------------------------------------------------------------
- 0 : OK
- 1 : Neuer String im Arbeitspuffer (Nullterminiert).
- -32 : ungültige Funktionsnummer
- <0 : TOS-Fehlermeldungen
-
-
-
-
-